package com.gopay.remote.bank;

import com.gopay.common.Result;
import com.gopay.common.domain.bank.BaseMessage;

/**
 * 电子银行操作远程接口
 * 
 * @BankInteractRemoteService.java
 * @author WangHongFei
 */
public interface BankInteractRemoteService {

    /**
     * 支付类请求
     * 
     * @param BaseMessage
     * @return Result
     */
    public Result pay(BaseMessage base);

    /**
     * 银行返回类请求
     * 
     * @param BaseMessage
     * @return Result
     */
    public Result bankBack(BaseMessage base);
    
    /**
     * 北京银行查询验签
     * 
     * @param BaseMessage
     * @return Result
     */
    public Result queryBack(BaseMessage base);

    /**
     * 银行查询类请求
     * 
     * @param BaseMessage
     * @return Result
     */
    public Result query(BaseMessage base);
    
    /**
     * 银行退款类请求
     * 
     * @param BaseMessage
     * @return Result
     */
    public Result refund(BaseMessage base);
    
    /**
     * 发送银行退款类请求
     * 
     * @param BaseMessage
     * @return Result
     */
    public Result sendBankRefund(BaseMessage base);
    
    /**
     * 银行日终类请求
     * @author guomuye
     * @param BaseMessage
     * @return Result
     */
    public Result dayend(BaseMessage base);
    
    /**
     * 银行退款类请求返回处理
     * 
     * @param BaseMessage
     * @return Result
     */
    public Result refundBack(BaseMessage base);
    
    /**
     * 银行退款类交易查询
     * 
     * @param BaseMessage
     * @return Result
     */
    public Result refundQuery(BaseMessage base);

    
  
}
